最后更新时间:2019年6月17日
功能介绍
地图标注,是一种在地图上展示相关位置点信息的工具,将信息点和地图相关联,表现为图标、窗口等形式。划分更为细致的话,具体可以分为标注和标注视图两部分,简单的地图标注只能通过图标显示位置信息,如果要展示更多、更详细的内容,如具体的坐标值、描述信息等,就需要使用地图标注视图。标注视图依托于标注,一般表现为冒泡弹框的信息窗口,可以添加文字、图片等资源。
地图标注是移动GIS中非常常用的功能之一,在大众应用中较为常见。基于地图标注,可以为用户提供更多个性化的地图服务,来丰富GIS应用,例如在地图中添加居民区、医院、店铺等兴趣点的标注。
地图标注的添加比较灵活,可以在程序中预先加载标注,也提供用户交互方式添加。如果已知要标注点的位置信息等其他属性,可以直接在程序中处理并添加、显示。用户交互式标注,是指在地图上知道了大概位置后,用户通过手势操作自由添加标注,如单击、双击、长按等操作。
开发者可通过该功能,添加固定点标注,即已知要标注点的位置信息与其他属性,可以直接在程序中处理并添加,在地图上叠加显示标注点。
开发者可通过该功能,交互添加标注,即通过用户交互操作(如单击、双击、长按等)获取位置点来添加标注。
开发者可通过该功能,显示默认标注视图,即具有固定默认的显示模板,只展示标题和描述信息。
开发者可通过该功能,实现自定义标注视图,用户可以自定义标注视图的显示样式,包括视图的布局、控件的样式等。
功能接口
MapGIS Mobile for Android SDK提供了实现标注功能的方法,核心类为API程序包com.zondy.mapgis.android.annotation中的Annotation(标注)和AnnotationView(标注视图)。下图即为接口逻辑结构图,即展示了标注实现的基本原理:从地图视图控件中可以获取标注图层,将创建的标注添加到标注图层中,并且可以根据标注创建标注视图进而显示。
地图标注核心关键接口如下:
接口 | 功能 |
---|---|
setPoint() | 设置地图坐标点 |
setTitle() | 设置标题 |
setDescription() | 设置描述 |
setImage() | 设置标记图标 |
AnnotationsOverlay.addAnnotation() | 添加标记 |
标注视图核心关键接口如下:
接口 | 功能 |
---|---|
setAnnotation() | 设置标记 |
setCalloutView() | 设置气泡视图 |
setCalloutContentView() | 设置内容视图 |
setPanToMapViewCenter() | 设置标记视图显示时是否自动移动到地图视图中心 |
setCalloutOffset() | 设置气泡视图定位点相对于标记边中心的偏移量 |
实现原理
地图标注的基本实现流程:
(1) 获取标注点的空间位置:可在代码中直接给定,或者通过移动设备上手势交互操作获取,如短按、双击、长按等。
(2) 构建地图标注对象:根据名称、描述、位置、图片四个要素信息构建。
(3) 添加到地图视图中:获取标注图层,向其中添加标注。
(4) 构造标注视图:注册地图视图的标注监听事件,在回调方法中构造标注视图(不需标注视图可不执行此步骤)。